// Kony

#pragma once

#include "CoreMinimal.h"
#include "GameplayTagContainer.h"
#include "Engine/DataAsset.h"
#include "AttributeInfo.generated.h"

//属性信息结构体
USTRUCT(BlueprintType)
struct FBaseAttributeInfo
{
	GENERATED_BODY()
	UPROPERTY(EditDefaultsOnly, BlueprintReadOnly)
	FGameplayTag AttributeTag = FGameplayTag();	//属性标签
	UPROPERTY(EditDefaultsOnly, BlueprintReadOnly)
	FText AttributeName = FText();	//属性名称
	UPROPERTY(EditDefaultsOnly, BlueprintReadOnly)
	FText AttributeDescription = FText();	//属性描述
	UPROPERTY(BlueprintReadOnly)
	float AttributeValue = 0.f;	//属性值 编辑器不可更改，蓝图可以更改
	
};
/**
 * 角色属性信息 数据资产
 */
UCLASS()
class GASC_HUANLING_API UAttributeInfo : public UDataAsset
{
	GENERATED_BODY()
public:
	//根据标签查找属性信息
	FBaseAttributeInfo FindAttributeInfoForTag(const FGameplayTag& AttributeTag, bool bLogNotFound = false) const;
	//角色信息列表
	UPROPERTY(EditDefaultsOnly, BlueprintReadOnly)
	TArray<FBaseAttributeInfo> AttributeInformation;
	
	
};
